// samsting : this file is auto create.

#ifndef ALIYUN_Ons_OnsMessageGetByTopicResponse_H_
#define ALIYUN_Ons_OnsMessageGetByTopicResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Ons {

class OnsMessageGetByTopicResponse : public AcsResponse {
public:
  OnsMessageGetByTopicResponse();

  class OnsRestMessageDo {
    friend class OnsMessageGetByTopicResponse;
  public:

    class MessageProperty {
      friend class OnsMessageGetByTopicResponse;
      friend class OnsRestMessageDo;
    public:
      const string& GetName(void) const;
      const string& GetValue(void) const;
    private:
      string Name_;
      string Value_;
    }; // MessageProperty 

    const std::vector<MessageProperty>& GetPropertyList(void) const;
    const string& GetTopic(void) const;
    int  GetFlag(void) const;
    const string& GetBody(void) const;
    int  GetQueueId(void) const;
    int  GetStoreSize(void) const;
    int64 GetQueueOffset(void) const;
    int  GetSysFlag(void) const;
    int64 GetBornTimestamp(void) const;
    const string& GetBornHost(void) const;
    int64 GetStoreTimestamp(void) const;
    const string& GetStoreHost(void) const;
    const string& GetMsgId(void) const;
    int64 GetCommitLogOffset(void) const;
    int  GetBodyCRC(void) const;
    int  GetReconsumeTimes(void) const;
    int64 GetPreparedTransactionOffset(void) const;
  private:
    std::vector<MessageProperty> PropertyList_;
    string Topic_;
    int    Flag_;
    string Body_;
    int    QueueId_;
    int    StoreSize_;
    int64  QueueOffset_;
    int    SysFlag_;
    int64  BornTimestamp_;
    string BornHost_;
    int64  StoreTimestamp_;
    string StoreHost_;
    string MsgId_;
    int64  CommitLogOffset_;
    int    BodyCRC_;
    int    ReconsumeTimes_;
    int64  PreparedTransactionOffset_;
  }; // OnsRestMessageDo 

  const std::vector<OnsRestMessageDo>& GetData(void) const;
  const string& GetHelpUrl(void) const;

private:
  std::vector<OnsRestMessageDo> Data_;
  string HelpUrl_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Ons {

#endif // #ifndef ALIYUN_Ons_OnsMessageGetByTopicResponse_H_

// end of file 
